import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';


import { FormsModule } from '@angular/forms';
import { AppPaginationModule } from '../../../../widgets/pagination/pagination.module';
import * as flatpickr from 'flatpickr';
import { FlatpickrModule, FLATPICKR } from '../../../../../assets/angularx-flatpickr';
import { NewChangeInfoComponent } from './new-change-info/new-change-info.component';
import { ContrastInfoComponent } from './contrast-info/contrast-info.component';
import { EntryChangeComponent } from './entry-change/entry-change.component';
import { ReviewBackComponent } from './review-back/review-back.component';
import { CustomFormsModule } from 'ng2-validation';
import { ViewDetailComponent } from './view-detail/view-detail.component';
import { ReadingNotesComponent } from './reading-notes/reading-notes.component';
import { CommitComponent } from './commit/commit.component';
import { SearchRemindComponent } from './search-remind/search-remind.component';
import { ApplyFundGroupComponent } from './apply-fund-group/apply-fund-group.component';
import { RevokeComponent } from './revoke/revoke.component';
import { HistoryChangeComponent } from './history-change/history-change.component';
import { EntryHistoryComponent } from './entry-history/entry-history.component';
import { MultiSelectModule } from 'primeng/components/multiselect/multiselect';
import { SubmitComponent } from './submit/submit.component';
import { FlowInfoComponent } from './flow-info/flow-info.component';
import { RouteRevokeComponent } from './route-revoke/route-revoke.component';
import { RouteSearchComponent } from './route-search/route-search.component';
import { ViewSearchComponent } from './view-search/view-search.component';
import { FileUploadModule } from 'ng2-file-upload';
import { TablePageComponent } from './table/table-page/table-page.component';
export function flatpickrFactory() {
  return flatpickr;
}
@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    AppPaginationModule,
    MultiSelectModule,
    CustomFormsModule,
    FileUploadModule,
    FlatpickrModule.forRoot({
      provide: FLATPICKR,
      useFactory: flatpickrFactory
    })
  ],
  declarations: [
    NewChangeInfoComponent,
    ContrastInfoComponent,
    EntryChangeComponent,
    ReviewBackComponent,  
    ViewDetailComponent,
    ReadingNotesComponent,
    CommitComponent,
    SearchRemindComponent,
    ApplyFundGroupComponent,
    RevokeComponent,
    HistoryChangeComponent,   
    SubmitComponent,
    RouteRevokeComponent,
    RouteSearchComponent,
    ViewSearchComponent, 
    FlowInfoComponent,
    TablePageComponent,
    EntryHistoryComponent
],
   
  entryComponents: [  
    NewChangeInfoComponent,
    ContrastInfoComponent,
    EntryChangeComponent,
    ReviewBackComponent,
    ViewDetailComponent,
    ReadingNotesComponent,
    CommitComponent,
    SearchRemindComponent,
    ApplyFundGroupComponent,
    RevokeComponent,
    HistoryChangeComponent,
    SubmitComponent,
    RouteRevokeComponent,
    RouteSearchComponent,
    ViewSearchComponent, 
    FlowInfoComponent,
    TablePageComponent,
    EntryHistoryComponent
]
})
export class ModalShareModule { }
